#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>

int gval=100;


int main()
{
  printf("我是一个进程：pid：%d,ppid：%d\n",getpid(),getppid());
  pid_t id = fork();
  if(id==0)
  {
    //child
    while(1)
    {
      printf("我是子进程，pid：%d,ppid：%d，gval：%d，&gval：%p\n",getpid(),getppid(),gval,&gval);
      gval++;
      sleep(1);
    }
  }
  else
  {
    //parent
    while(1)
    {
      printf("我是父进程，pid：%d,ppid：%d，gval：%d，&gval：%p\n",getpid(),getppid(),gval,&gval);
      sleep(1);
    }
  }
  return 0;
}








//.autorelabelextern char **environ;
//第一种是遍历env数组，利用main的参数
//int main()
//{
//  int i=0;
//  for(i=0;environ[i];i++)
//  {
//    printf("%s\n",environ[i]);
//  }
//  //char *isrunning=getenv("ISRUNNING");
//  //if(isrunning==NULL)
//  //{
//  //  while(1)
//  //  {
//  //    printf("当前进程首次启动\n");
//  //   sleep(1); 
//  //  } 
//  //}
//  //else
//  //{
//  //  printf("当前进程已经运行了，不要启动了？");
//  //}
//
//  return 0;
//  //const char *who=getenv("USER");
//  //if(strcmp(who,"newuser")==0)
//  //{
//  //  printf("执行程序的正常命令\n");
//  //  return 0;
//  //}
//  //else{
//  //  printf("无权访问\n");
//  //}
//  ////printf("PWD:%s\n",getenv("PWD"));
//  ////printf("USER:%s\n",getenv("USER"));
//  //return 0;
//}
